Если поступившие от трекера данные соответствуют всем критериям детектирования сливов, то в таблице Сливы будут фигурировать записи об этом, даже если фактически слива не было. Подобные сливы называются ложными.
Для корректной настройки детектирования сливов необходимо знать не только технические особенности алгоритмов Wialon, но и принципы работы самого оборудования (трекеров, датчиков и топливной системы объекта). В данной статье изложены простые инструкции, следуя которым вы сможете избавиться от ложных сливов, ориентируясь лишь на график уровня топлива.
Обязательные шаги перед применением инструкций
- В Wialon создан объект, сообщения от трекера отображаются в системе.
- Датчик уровня топлива подключен к трекеру, тарировка бака произведена.
- В объекте создан датчик с типом Датчик уровня топлива (ДУТ).
- В свойствах ДУТ активирована опция Рассчитывать данные по датчику.
- Тарировочная таблица (Пары XY) внесена в Таблицу расчета датчика уровня топлива, после чего нажата кнопка Генерировать.
- Создан шаблон отчета с графиком типа Обычный, который отображает Обработанный уровень топлива.
- Также график отображает маркеры сливов и фон поездок (по умолчанию он розовый), остановок (голубой) и моточасов (желтый).
Поведение графика в области ложного слива
Выберите один из представленных ниже вариантов в соответствии с тем, что вы наблюдаете на графике в месте, где находится маркер слива.
1. Скачки в процессе движения или работы двигателя
Во время работы двигателя, движения по неровной поверхности или любого движения в принципе происходят колебания топлива, которые считывает ДУТ. В зависимости от объема и формы бака, а также места установки ДУТ эти колебания могут достигать десятков литров, что может привести к детектированию сливов. В общем случае их можно компенсировать с помощью алгоритма сглаживания.
Для этого в свойствах датчика уровня топлива выберите тип фильтрации Адаптивная медианная фильтрация, в таком случае алгоритм автоматически подбирает нужное значение степени фильтрации.
Либо там же вы можете выбрать тип фильтрации Медианная фильтрация для ручной настройки сглаживания. Для этого установите степень фильтрации (например, 3). Обязательно учитывайте, что высокие степени фильтрации стоит применять только при высокой частоте отправки сообщений (1-5 секунд между сообщениями). После применения фильтрации топливные алгоритмы будут работать не с исходными данными, а со сглаженными.
Для проверки эффективности сглаживания добавьте на график линию Уровень топлива (до сглаживания) и сравните ее с линией Обработанный уровень топлива (после сглаживания). Если колебания линии Обработанный уровень топлива все еще кажутся вам значительными, то можно попробовать увеличить степень фильтрации (рекомендуется делать это с шагом в 1). Однако помните, что сглаживание может начать искажать входные данные, а потому нужно найти золотую середину: колебания линии Обработанный уровень топлива уже не кажутся большими (или их совсем нет), но при этом линии до и после сглаживания все еще не слишком отличаются в характерных местах (например, во время фактических заправок/сливов).
Как работает фильтрация (сглаживание значений датчика)
В Wialon используется медианная фильтрация. Для каждого сообщения берется несколько стоящих до и после сообщений, все вместе они формируют окно фильтра, а потом с учетом этих сообщений вычисляется сглаженное значение в центре окна.
Степень фильтрации | Ширина окна | Количество сообщений до/после центра окна |
---|
0 | 3 | 1 |
N
| N — нечетное | 5×N | (5×N-1)/2 |
N — четное | 5×N-1 | (5×N-2)/2 |
Пример
Степень фильтрации установлена равной 3. Тогда ширина окна будет составлять 5×3=15. Следовательно, для сглаживания значений уровня топлива берутся 7 сообщений до и 7 сообщений после рассматриваемого сообщения.
Например, для вычисления значения в сообщении номер 61 будут использованы сообщения с 54 по 68.
2. Резкий скачок сразу после начала или прекращения движения
Показания ДУТ могут резко измениться в момент начала/прекращения движения, что может привести к детектированию слива. Если выбранная вами степень фильтрации не сглаживает эти скачки, а повышать ее вы не хотите (например, в вашем случае это приводит к большому искажению входных данных на других интервалах), то вы можете использовать один из двух временны́х фильтров в свойствах датчика уровня топлива:
- Игнорировать сообщения после начала движения — эта опция позволяет исключить из анализа на сливы заданное количество секунд после начала движения.
- Минимальное время остановки для определения слива — если длительность интервала без движения не превышает указанную, то этот интервал не будет анализироваться на сливы (таким образом можно отсечь колебания уровня топлива, например, во время коротких остановок на светофорах).
3. Плавное падение при работе двигателя и отсутствии движения
В системе Wialon существует 2 алгоритма для анализа топлива: алгоритм по пробегу (он используется по умолчанию) и алгоритм по времени. Для стационарных объектов и для объектов с длительными интервалами холостого хода рекомендуется использовать алгоритм по времени. Для этого активируйте 3 опции в свойствах датчика уровня топлива: Расчет заправок по времени, Расчет сливов по времени и Рассчитывать расход топлива по времени. Стоит пояснить, что в рассматриваемом случае можно было бы обойтись только опцией Расчет сливов по времени, но одновременное включение всех опций позволит достичь лучшей сходимости всех топливных показателей в отчетах.
При использовании алгоритма по времени происходит сравнение расхода по ДУТ с расходом по расчету, то есть со значением, рассчитанным по математической модели. На интервалах холостого хода расход по расчету в общем случае определятся по датчику зажигания или датчикам моточасов. Потому откройте свойства датчика зажигания или моточасов и проверьте, верная ли норма расхода в час установлена в поле Расход.
4. Слив во время движения, хотя график выглядит нормально
Наиболее вероятно, вы используете алгоритм анализа топлива по времени, а также активировали опцию Поиск сливов в движении в свойствах датчика уровня топлива. В таком случае происходит сравнение расхода по ДУТ с математически рассчитанным расходом. Если расход по расчету настроен неправильно, то ложный слив может быть детектирован там, где объект просто совершал поездку, а потому рекомедуется проверить математическую модель расхода по расчету. Она задается через:
- датчики зажигания или датчики моточасов — в свойствах в поле Расход необходимо указать норму расхода в час на холостом ходу;
- датчики полезной работы двигателя (ДПРД) — этот датчик может использовать любой параметр, который влияет на расход, и своим значением он определяет коэффициент изменения расхода, который далее перемножается с расходом из предыдущего пункта.
Базовую математическую модель расхода можно создать с помощью Мастера расхода по расчету на вкладке Датчики в свойствах объекта. Она учитывает влияние скорости и сезона на расхода топлива с помощью ДПРД. Далее математическую модель можно дополнить другими ДПРД, которые будут учитывать прочие влияющие на расход факторов (веса груза, температуры, работы навесного оборудования и так далее).
5. Значительные скачки до минимума/максимума
Если на графике видны скачки линии Обработанный уровень топлива до 0 или до максимального значения (зачастую это 2¹⁶-1=65535) и обратно к актуальному значению, то даже после применения сглаживания эти скачки могут приводить к детектированию ложных сливов. Такие скачки показаний могут быть связаны с некорректной конфигурацией или подключением датчика уровня топлива к трекеру.
Рекомендуется исправлять данную проблему со стороны оборудования, однако и со стороны Wialon вы можете попробовать отсечь эти показания с помощью Таблицы расчета. Для этого войдите в свойства ДУТ, перейдите во вкладку Таблица расчета и установите значения Нижней границы и/или Верхней границы, соответствующие пустому и полному баку. Однако в нижней границе лучше прописать не 0, а значение близкое к нулю (например, 0.1), чтобы отсечь ложные скачки показаний до 0.
6. Значительные скачки не до минимума/максимума
Если показания ДУТ изменяются на значительные величины (но не до 0 или до максимального значения), а затем возвращаются обратно к актуальному значению, то даже после применения сглаживания эти скачки могут приводить к детектированию ложных сливов. Подобное поведение может быть связано со скачками напряжения, которые можно заметить на графике с помощью линии Напряжение, если у вас создан Датчик напряжения.
Рекомендуется исправить подобные ситуации со стороны оборудования, однако и со стороны Wialon вы можете попробовать компенсировать это влияние через Валидацию. Для этого необходимо применить следующую инструкцию:
- Откройте вкладку Сообщения и запросите сообщения с исходными данными за интервал, который включает исследуемый скачок уровня топлива.
- Вручную или с помощью фильтра найдите другой параметр, который меняется одновременно с показаниями ДУТ.
Предположим, это параметр pwr_ext, который для большинства трекеров соответствует внешнему напряжению. - Определите, при преодолении какого значения найденного параметра показания ДУТ изменяются.
Предположим, что если pwr_ext меньше 12, то ДУТ начинает присылать неправильные показания.
- Войдите в свойства объекта и создайте датчик с типом Произвольный цифровой датчик, используя параметр из пункта 3, а затем задайте для него Таблицу расчета со следующими строками:
X = 0; a = 0; b = 0
X = 12; a = 0; b = 1
- Сохраните созданный датчик и изменения свойств объекта, два раза нажав кнопку ОК.
- Снова войдите в свойства объекта, а затем в свойства ДУТ. Укажите датчик из пункта 4 в качестве валидатора с типом Проверка на неравенство нулю.
В примере выше рассматривается реальный случай, так как низкое напряжение действительно зачастую приводит к искажению показаний разных датчиков. То есть между передаваемыми параметрами напряжения и уровня топлива существует прямая связь. Однако вы можете использовать и непрямую связь, если заметите одновременное изменение показаний ДУТ и любого другого параметра. Возможно, трекер не присылает значение напряжения, однако присылает значение температуры, а датчик температуры тоже сбоит и присылает, например, 451 °F в момент скачка напряжения. В таком случае с помощью валидации попробуйте связать ДУТ и значение температуры, что тоже должно исправить ситуацию.
7. Плавное падение после заправки при наличии нескольких соединенных баков с ДУТ в каждом
Подобное изменение показаний ДУТ может быть связано с тем, что у объекта имеется несколько соединенных баков, между которыми происходит перетекание топлива. После заправки в один из баков выравнивание уровней между несколькими баками может занять некоторое время, и если вы создали датчики уровня топлива в Wialon отдельно, то сразу после заправки система может детектировать ложный слив по одному из баков.
При работе с несколькими соединенными баками мы рекомендуем для каждого из ДУТ создавать Произвольный датчик (например, с именами «ДУТ 1» и «ДУТ 2») и вносить в них свою тарировочную таблицу. После этого создайте отдельный датчик с типом Датчик уровня топлива, не вносите в него тарировочную таблицу, а вместо этого просто используйте следующую формулу: [ДУТ 1]+[ДУТ 2]
8. Резкое падение при достижении определенного уровня
Данная ситуация может наблюдаться для баков специфичной формы в момент перехода от широкой части к узкой (например, для баков в форме буквы «Г»). Это особенно вероятно, если тарировка была произведена по слишком малому количеству точек, а зачастую ее делают всего по 2 точкам (при пустом и полном баке). Потому имеет смысл перетарировать бак, используя небольшие порции.
9. Плавное изменение в одно и то же время
Иногда уровень топлива падает/растет в определенные моменты времени, а в некоторых случаях позже даже возвращается к актуальному значению. Происходить это может ночью, или во время поездки (особенно под нагрузкой), или спустя примерно одно и то же время после завершения поездки — то есть выделить общее правило затруднительно.
Предположительные причины:
- изменение температуры, влияющее на объем топлива, а также на деформацию бака (особенно это касается гибких пластиковых баков);
- образование «вакуума» из-за разницы давлений (активного забора топлива в двигатель);
- оседание примесей в топливе или грязи в баке, которая происходит после завершения поездки (тряски).
Решение в большинстве случаев связано с оборудованием: установка крышки с клапаном для выравнивания давления, удаление грязи/осадка в баке или на ДУТ. Однако если ситуация связана только с изменением температуры, то вам помочь может использование датчика с типом Коэффициент температуры (пример его настройки можно найти в документации).
Олег Жарковский,Инженер Customer Service
2024-02-12